home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 11 / CU Amiga Magazine's Super CD-ROM 11 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-06].iso / cucd / programming / oberonv4 / source / system / amigalogger.mod (.txt) < prev    next >
Oberon Text  |  1996-06-02  |  1KB  |  61 lines

  1. Syntax10.Scn.Fnt
  2. Syntax10i.Scn.Fnt
  3. Syntax10b.Scn.Fnt
  4. MODULE AmigaLogger;    (* updated OJ 30 Apr 96 *)
  5. IMPORT
  6.     SYSTEM, E:=AmigaExec, U:=AmigaUtility;
  7.     loggerBase - : E.LibraryPtr;
  8.     loggerVersion- : INTEGER;
  9.     termEntry : E.TermEntry;
  10.     dummy : LONGINT;
  11. CONST
  12.     loggerName*="logger.library";
  13. PROCEDURE -ReturnD0    04EH,05EH,  04EH,075H;
  14. PROCEDURE clear*;
  15. BEGIN
  16.     SYSTEM.CALL( -30, loggerBase )
  17. END clear;
  18. PROCEDURE firstPos*():LONGINT;
  19. BEGIN
  20.     SYSTEM.CALL( -36, loggerBase );
  21.     ReturnD0
  22. END firstPos;
  23. PROCEDURE nextPos*():LONGINT;
  24. BEGIN
  25.     SYSTEM.CALL( -42, loggerBase );
  26.     ReturnD0
  27. END nextPos;
  28. PROCEDURE read*(pos:LONGINT):CHAR;
  29. BEGIN
  30.     SYSTEM.PUTREG( 2, pos );
  31.     SYSTEM.CALL( -48, loggerBase );
  32.     SYSTEM.GETREG( 0, dummy );
  33.     RETURN CHR(dummy)
  34. END read;
  35. PROCEDURE write*(ch:CHAR);
  36. BEGIN
  37.     SYSTEM.PUTREG( 2, ORD(ch) );
  38.     SYSTEM.CALL( -54, loggerBase )
  39. END write;
  40. PROCEDURE writeStamp*;
  41. BEGIN
  42.     SYSTEM.CALL( -60, loggerBase )
  43. END writeStamp;
  44. PROCEDURE Init;
  45. TYPE LibraryPtr=POINTER TO E.Library;
  46. VAR lib:LibraryPtr;
  47. BEGIN
  48.     loggerBase:=E.OpenLibrary(loggerName,40);
  49.     IF loggerBase=0 THEN HALT(99) END;
  50.     lib:=SYSTEM.VAL(LibraryPtr,loggerBase);
  51.     loggerVersion:=lib.version
  52. END Init;
  53. PROCEDURE Term;
  54. BEGIN
  55.     E.CloseLibrary( loggerBase )
  56. END Term;
  57. BEGIN
  58.     Init;
  59.     E.Register(termEntry, Term);
  60. END AmigaLogger.
  61.